草庐IT

c++ - 从 C++ 类制作 Visual C++ DLL

全部标签

windows - 如何制作视频 "mini/filter-driver"

我需要在Windows中创建一个应用程序/驱动程序来捕获来自网络摄像头的视频流,执行一些修改并将其传回系统(因此它流出skype)。有人知道如何创建/注册这样的应用程序吗?也许网上有样本?提前致谢 最佳答案 查看DirectShow.您需要创建一个源过滤器(从相机源过滤器获取数据并对其进行修改)。 关于windows-如何制作视频"mini/filter-driver",我们在StackOverflow上找到一个类似的问题: https://stackover

c++ - 跨两个 DLL 的 `using` 语句

我在一个DLL中定义了一个类,其中某个成员被重载了。第二个DLL导入该类,从它继承并导出继承的类。继承的类覆盖了上述成员的重载之一,因此失去了所有其他重载。据我所知,这个问题的解决方案通常是使用using语句(usingBaseClass::OverloadedMember;),但鉴于这种情况,我得到了一个错误C2487:“BaseClass::OverloadedMember”:dll接口(interface)类的成员不能用dll接口(interface)声明(VC++)。我该如何解决这个问题? 最佳答案 我将从新的DLL/类中导

windows - 如何减少每次 ClickOnce 更新的供应商 dll 的大小?

有没有办法减少每次ClickOnce更新的大小?每次更新都包含所有自定义的verdorsdll(例如Telerik、NHibernate等),有没有办法只包含第一次初始安装而不包含在以后的更新中?我只想要ClickOnce更新文件中的最新更新的应用程序dll和.exe,以便客户端可以非常快速地通过网络下载更新。请分享您在ClickOnce应用程序中使用的建议或做法。谢谢。 最佳答案 扩展@DarrelMiller的回答。ClickOnce仅下载已更改的文件。它为每个文件生成一个散列。如果文件发生任何变化(文件大小、修改日期等),将生

python - 如何在 Tkinter 中制作非方形边缘?

为了使我的一个程序更美观,我使用图像来创建边框,但是我想创建一个非方形边框,所以程序看起来有点像这样___________///__________/我该怎么办?这是在Windows7上,顺便说一句。编辑:A尝试使用透明度制作伪边,但结果不是透明的。出于某种原因,它呈现为深灰色。我希望红色成为“边缘”。 最佳答案 您追求的概念称为“形状窗口”。使用您最喜欢的搜索引擎搜索“tk形窗口”。有一个tk扩展声称支持这一点,但我还没有亲自尝试过。我想因为它与tcl/tk一起工作,所以它可以与Tkinter一起工作,因为Tkinter在幕后使用

windows - 在远程 Windows 机器上动态运行 DLL?

有没有办法在远程Windows机器上动态运行DLL?假设用户想要将自己的DLL文件发送到远程服务器并在远程站点运行该DLL中的函数。用户可能能够提供函数入口点以及所需的参数,但仅此而已。(例如没有头文件)我正在考虑在远程站点设置一个代理可执行文件,它可以(1)动态加载和绑定(bind)未知的DLL,以及(2)运行带参数的函数。这是一个好的方法,还是这样的可执行文件可能? 最佳答案 您可以使用动态加载DLL的技术。通常,您通过将.LIB静态链接到您的项目并编译它来使用DLL。要在运行时动态加载DLL,您可以使用以下WIN32API函数

windows - 如何制作一个 16x16 像素图标大小的符号按钮?

我尝试用MFC制作一个SymbolButton。图标资源(*.ico)的大小为16x16像素。当我将图标加载到按钮中时,图标显示为原来的两倍大。您知道我如何指定绘制在按钮表面上的图标的大小吗?我正在使用的代码片段:CButton*btn=reinterpret_cast(GetDlgItem(IDC_BUTTON_RUNTER));btn->SetIcon(AfxGetApp()->LoadIconA(MAKEINTRESOURCE(IDI_RUNTER)));感谢您的帮助! 最佳答案 您可以使用LoadImage而不是LoadIc

c++ - 具有来自同一个 DLL 的全局变量的多个实例

目前,我有一个具有以下简化View的系统。Theentiresystemrunundersingleprocess---------------------------------------------DLL0.DLL---COMMON.DLL(containsglobal_variableinCOMMON.DLL)EXE---|---DLL1.DLL---COMMON.DLL(containsglobal_variableinCOMMON.DLL)COMMON.DLL源码如下。//COMMON.DLL#ifdefCOMMON_EXPORTS_declspec(dllexport)i

windows - 系统 DLL 地址空间

我想知道MicrosoftWindows操作系统中系统DLL的地址空间范围是多少。另外,如果重新分配DLL,是否意味着使用它的应用程序会崩溃? 最佳答案 DLL重定位是一种常见的情况,只是意味着DLL加载到内存中的位置不是DLL指定的首选基址(通常是因为另一个DLL已经占据了DLL指定的地址空间的一部分)会“喜欢”使用)。除非DLL对其加载位置做出一些严重错误的假设,否则一切都应该很好,不会发生崩溃。使用ProcExp或类似工具查看进程的各种DLL使用的地址空间。 关于windows-系

c++ - 从 DLL 创建和导出 C++ 单例类

我有一个小问题,如何从DLL创建和导出单例类?可以在同一应用程序的多个模块之间共享。我的目的是创建一个集中式自定义日志记录系统,该系统将记录在同一个文件中。任何示例或链接将不胜感激。 最佳答案 发布的ajitomatix链接是针对模板化单例的,非模板解决方案可能如下所示:classLOGGING_APIRtvcLogger{public:///UsethismethodtoretrievetheloggingsingletonstaticRtvcLogger&getInstance(){staticRtvcLoggerinstanc

C++如何从DLL(windows)的文件名中获取进程ID?

如何从文件名中获取进程ID?比如:intprocessId=getProcessIdByFileName("Network.dll");顺便问一下,哪种数据类型具有进程ID?扩展信息:我有一个DLL的源代码。这个DLL被加载到应用程序中,就像其他一些DLL一样。我想Hook其他DLL的功能。因此我需要它们的进程ID(如果它们都在一个应用程序下运行,是否每个DLL都有一个进程ID?如何在我的DLL中调用其他DLL的函数?如何处理它们? 最佳答案 DLL没有进程ID。一个DLL可能被加载到多个进程中,或者根本没有。DLL可以加载到进程中